#include "biblioteca.h"

void imprimirBuffer(){
	char *string = (char *) malloc (50*sizeof(char));
	strncpy(string, buffer.buff, buffer.sentinela*sizeof(char));
	printf("buffer atual: %s\n", string);
	free(string);
}

void lenArquivo(FILE *arquivo){
	int i=0;
	char c;
	while((c=fgetc(arquivo))!=EOF){
		i++;
	}
	
	printf("total de caracteres: %d\n", i);
}

void imprimirArquivo(FILE *arquivo){
	char c;
	while((c=fgetc(arquivo))!=EOF){
		printf("%c",c);
	}	
}

/**
 * '$' representa o fim do arquivo 
 */
void encherBuffer(){
    char c;
    int i = 0;
    buffer.sentinela = 0;
    buffer.ind_buffer = 0;
    fseek(entrada, buffer.ind_arq * sizeof(char),SEEK_SET);
    while (buffer.sentinela < 50){
        
        //pega o caracter do arquivo coloca no buffer e zera o contador do buffer;
        c = fgetc(entrada);
        
        
        if (c == EOF) {
			buffer.fim_arquivo = 1;
			buffer.ind_arq += buffer.sentinela; 
			return;
		}
		
		buffer.buff[buffer.sentinela] = c;
		buffer.sentinela++;
    }
    buffer.sentinela = 0;
    buffer.ind_arq += 50;
    
    //como ja abriu o arquivo para pegar o número necessário de caracteres, então o mesmo pode ser fechado
    
    
}

char lerChar(){
    char c;
    
    c = buffer.buff[buffer.ind_buffer];
    buffer.ind_buffer++;
    return c;
}

